// assetDistributeApi.js

import request from '@/utils/request'

const baseUri = '/assetDistribute'

const assetDistributeApi = {
  // 获取列表数据
  list({ page, limit, ...others }) {
    return request({
      url: `${baseUri}/list`,
      method: 'get',
      params: {
        page,
        limit,
        ...others
      }
    })
  },

  // 根据ID查找单个资产分配信息
  find(id) {
    return request({
      url: `${baseUri}/find`,
      method: 'get',
      params: { id }
    })
  },

  // 获取所有资产分配信息
  findAll() {
    return request({
      url: `${baseUri}/findAll`,
      method: 'get'
    })
  },

  // 新增资产分配
  add(assetDistribute) {
    return request({
      url: `${baseUri}/add`, // 修正了原来的 findAll URL 错误
      method: 'post',
      data: assetDistribute
    })
  },

  // 更新资产分配
  update(assetDistribute) {
    return request({
      url: `${baseUri}/update`,
      method: 'post',
      data: assetDistribute
    })
  },

  // 批量新增资产分配
  batchAdd(assetDistributes) {
    return request({
      url: `${baseUri}/batchAdd`,
      method: 'post',
      data: assetDistributes // 传递资产分配数组
    })
  },

  // 批量更新资产分配
  batchUpdate(assetDistributes) {
    return request({
      url: `${baseUri}/batchUpdate`,
      method: 'post',
      data: assetDistributes // 传递资产分配数组
    })
  },

  // 批量删除资产分配
  batchRemove(ids) {
    return request({
      url: `${baseUri}/batchRemove`,
      method: 'post',
      data: ids
    })
  },

  // 获取固定资产分配认领信息
  findClaimFixed({ page, limit, ...others }) {
    return request({
      url: `${baseUri}/findClaimFixed`,
      method: 'get',
      params: {
        page,
        limit,
        ...others
      }
    })
  },

  // 根据批量id查找固定资产
  addClaimFixedDetail({ page, limit, assetIds}) {
    return request({
      url: `${baseUri}/addClaimFixedDetail`,
      method: 'post',
      data: {
        page,
        limit,
        assetIds
      }
    })
  },

  // 获取固定资产分配认领详情
  findClaimFixedDetail({ page, limit, ...others }) {
    return request({
      url: `${baseUri}/findClaimFixedDetail`,
      method: 'get',
      params: {
        page,
        limit,
        ...others
      }
    })
  },

  // 根据申请单号和assetId删除
  deleteByAssetIds({ applicationNum, assetIds}) {
    return request({
      url: `${baseUri}/deleteByAssetIds`,
      method: 'post',
      data: {
        applicationNum,
        assetIds
      }
    })
  },

  // 根据申请单号和assetId修改
  updateByAssetIds({ applicationNum, assetIds, distribute}) {
    return request({
      url: `${baseUri}/updateByAssetIds`,
      method: 'post',
      data: {
        applicationNum,
        assetIds,
        distribute
      }
    })
  },

  // 根据申请单号查询
  findByNum(applicationNum) {
    return request({
      url: `${baseUri}/findByNum`,
      method: 'get',
      params: {
        applicationNum
      }
    })
  }
}

export default assetDistributeApi
